#======================================================================
#
# Makefile
#
# $RCSfile$
# $Revision: 66 $
# $Author: kocienda $
# $Date: 2001-08-31 22:36:11 +0000 (Fri, 31 Aug 2001) $
#
# Copyright (C) 2001 Apple Computer, Inc.  All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
#
#======================================================================
# set top source dir relative to this directory
# include make vars boilerplate
#

TOPSRCDIR = ../../..
include $(TOPSRCDIR)/Makefile.vars

#----------------------------------------------------------------------
# Set variables for this directory

CXXYACCOBJECTS = grammar.cpp grammar.h

CXXOBJECTS = \
	array_object.o \
	bool_object.o \
	collector.o \
	date_object.o \
	debugger.o \
	error_object.o \
	function.o \
	function_object.o \
	global_object.o \
	grammar.o \
	internal.o \
	kjs.o \
	lexer.o \
	lookup.o \
	math_object.o \
	nodes.o \
	number_object.o \
	object.o \
	object_object.o \
	operations.o \
	regexp.o \
	regexp_object.o \
	string_object.o \
	types.o \
	ustring.o \
	$(NULL)

PROGRAM = testkjs

OBJECTS = $(CXXYACCOBJECTS) $(CXXOBJECTS) 

LIBRARY = libkjs.a

CLEAN_FILES = $(OBJECTS) \
	grammar.h \
	grammar.cpp \
	grammar.cpp.h \
	testkjs.o \
	$(LIBRARY) \
	$(PROGRAM) \
	$(NULL)

#----------------------------------------------------------------------
# Set flags for this directory

YACCFLAGS = -d --output-file=grammar.cpp --name-prefix=kjsyy

#----------------------------------------------------------------------
# Set targets for this directory

all: $(OBJECTS) $(LIBRARY) $(PROGRAM)

$(LIBRARY): $(CXXOBJECTS)
	$(AR) $(ARFLAGS) $(LIBRARY) $(CXXOBJECTS)
	$(RANLIB) $(LIBRARY)

$(PROGRAM): testkjs.o
	$(CC) $< -o $@ -L. -lkjs

grammar.h: grammar.cpp.h
	ln -s grammar.cpp.h grammar.h

#----------------------------------------------------------------------
# include make rules boilerplate

include $(TOPSRCDIR)/Makefile.rules

#======================================================================
# end
#======================================================================
